﻿using Mjolnir.InfraEstrutura.Fabricas;

namespace Mjolnir.Modelo.Matrizes
{
  public interface IFabricaMatriz : IFabrica<IMatriz>
  {
  }

  public interface IFabricaMatriz<M> : IFabrica<M>
    where M : IMatriz
  {
    /// <summary>
    /// Criar uma instância.
    /// </summary>
    /// <returns></returns>
    M criar();

    /// <summary>
    /// Criar array com tamanho especificado.
    /// </summary>
    /// <param name="tamanho">tamanho.</param>
    /// <returns></returns>
    M[] criar(int tamanho);
  }
}
